home *** CD-ROM | disk | FTP | other *** search
/ PC Media 23 / PC MEDIA CD23.iso / share / prog / anubis / pcx256.txt < prev    next >
Encoding:
Text File  |  1995-08-04  |  3.2 KB  |  98 lines

  1.             Especificaciones para la libreria PCX256.H
  2.             ------------------------------------------
  3.  
  4.     Esta librería es utilizada para tratar imagenes en formato PCX de
  5. 256 colores.
  6. Se utiliza conjuntamente con la librería GRAFIC1.H ya que utiliza las
  7. primitivas que ésta proporciona para poner puntos en pantalla.
  8.  
  9. La librería es muy simple y no presenta demasiadas complicaciones.
  10.  
  11.     A continuación vamos a presentar las estructuras de datos de la
  12. librería.
  13.  
  14. typedef struct {
  15.    BYTE Fabricante;        // El fabricante 10=ZSoft.PCX
  16.    BYTE Version;           // (0..5)
  17.    BYTE Codificacion;      // (1) Run Length
  18.    BYTE BitsPixel;         // (1,2,4,8) Número de colores.
  19.    WORD Xmin;
  20.    WORD Ymin;
  21.    WORD Xmax;
  22.    WORD Ymax;
  23.    WORD HDpi;
  24.    WORD VDpi;
  25.    BYTE Color[48];
  26.    BYTE Res;               // =0
  27.    BYTE NPlanes;
  28.    WORD BytesLine;
  29.    WORD PaletteInfo;
  30.    WORD HscreenSize;
  31.    WORD VscreenSize;
  32.    BYTE Relleno[54];
  33. } PCXCab;
  34.  
  35.  
  36.  
  37. typedef struct {
  38.    PCXCab Cabecera;
  39.    PBYTE  *Datos;
  40.    PBYTE  *Paleta;
  41. } pcx256;
  42.  
  43.  
  44. La librería tiene varias funciones cuyo funcionamiento se describe a
  45. continuación:
  46.  
  47. boolean LeePCX (img, fichero);
  48. ------------------------------
  49.     pcx256 *img;   Es donde se almacena la imagen PCX.
  50.     char *fichero; Es el nombre y ruta del fichero en formato PCX.
  51.  
  52.     Esta función lee un fichero PCX de disco y lo almacena en memoria
  53. principal mediante la estructura de datos pcx256.
  54.     La función reserva memoria dinámica para las partes de la paleta
  55. de colores y la información de la imagen.
  56.     Si todo va bien se devuelve TRUE, si hay algún error se devuelve
  57. false.
  58.  
  59.  
  60. void PonPCX( img, Xini, Yini);
  61. ------------------------------
  62.     pcx256 *img;   Es la imagen que se va a visualizar.
  63.     int Xini;      Es la coordenada x de la esquina sup izquierda donde
  64.                         empieza la visualización.
  65.     int Yini;        Es la coordenada y de la esquina sup izquierda donde
  66.                         empieza la visualización.
  67.  
  68.     Esta función pone la imagen PCX en pantalla.
  69.  
  70. void PonmaskPCX ( img, Xini, Yini, col);
  71. ----------------------------------------
  72.     pcx256 *img;   Es la imagen que se va a visualizar.
  73.     int Xini;        Es la coordenada x de la esquina sup izquierda donde
  74.                         empieza la visualización.
  75.     int Yini;        Es la coordenada y de la esquina sup izquierda donde
  76.                         empieza la visualización.
  77.     BYTE col;        Es el número de color que se omite en la visualización.
  78.  
  79.     Esta función tiene un funcionamiento muy similar al de PonPCX, pero
  80. con la ventaja de que se omiten todos los puntos cuyo color coincide
  81. con el color especificado por "col"
  82.  
  83. NOTA: En ambas funciones la paleta de colores no se modifica. Lo cual
  84. significa que si la paleta de colores con la que se ha hecho el dibujo
  85. es diferente a la que utiliza el programa, los colores saldrán distorsionados.
  86.  
  87. boolean PonfPCX( fichero, Xini, Yini);
  88. --------------------------------------
  89.     char *fichero;        Es el fichero con la imagen PCX.
  90.     int Xini;            Es la coordenada inicial en la que debe aparecer
  91.                             la imagen.
  92.     int Yini;            Es la coordenada y de la esquina superior izquierda
  93.                             de la pantalla en donde debe aparecer la imagen.
  94.  
  95. NOTA: Esta función tampoco modifica la paleta de colores del programa.
  96. lo cual hace que los colores de la imagen puedan aparecer incorrectamente.
  97.  
  98.